Internet Service Providers (ISPs) are in the business of selling connections to public data networks to individual and enterprise end users. In the ISP industry, the complexity of the configuration of IP networks is steadily increasing, due to the need to support a variety of applications each having its own specialized needs, based on business policy and quality of service (“QoS”) considerations. The typical new network is less concerned with bandwidth and more concerned with QoS. If there is contention for resources, the intelligent network will allocate resources based on the business policy of the enterprise.
In the course of working with a new customer, an ISP may install and configure one or more network devices at the customer premises (“customer premises equipment” or “CPE”) for the purpose of linking the customer's internal networks with the ISP and from there to external, public networks such as the Internet. Often the links between the CPE devices and the ISP use Internet Protocol (IP) for communications. The CPE devices require software configuration after installation in order to operate correctly.
Currently, configuration procedures are mostly manual, especially for multi-site networks (as opposed to single site configurations). Often standard procedures do not exist or are not followed to the letter. As volumes of smaller, more standardized, customer networks are fast increasing, the demands on operational groups, availability of skills and costs are becoming untenable. And, the integration costs are also increasing. Hence, there is a need to standardize the process as well as technology used for provisioning and integration in the ISP industry.
In a typical past approach, the CPE devices are configured manually. As an example of manual configuration, an ISP may send a CPE router to a customer site along with an experienced network technician who configures the box on-site. In the case of an ISP that also provides cable (line) installation service, the enterprise may send two different technicians to the customer site, one to install the line and a second to install the CPE router. Alternatively, the customer device is installed by a less-skilled individual, and configured by Telnet connection using one or more command-line interface (“CLI”) commands.
Since sending a skilled technician to a customer site may cost several hundred dollars, and since a skilled technician can only visit and work at a few customer sites per day, there is a need for a way to increase the number of possible installs-per-day, to eliminate a technician visit in the installation process, or to reduce the required skill set and cost of the on-site technician.
Still another problem of the current approach is that use of Telnet to send configuration commands introduces undesirable failure modes. For example, if a Telnet connection is opened, and a technician needs to send 15 CLI commands to the device, but the connection drops unexpectedly after only 8 commands are sent, the device may enter an undefined state, exhibit errors, receive inconsistent instructions or otherwise become unusable.
In another approach, the COPS protocol under consideration by IETF, RCP file transfer, or other protocols may be used to configure certain features of a device. However, the COPS protocol does not enable configuration of all features of a device that are available using the native command language of the device; it focuses on quality of service (QoS) features. Similarly, while SNMP may be used to configure selected device features and parameters, it also cannot address all features that are available in the native command language. There is a need for a way to remotely provision a device with access to all available features of the device.
Moreover, for certain businesses and institutions, there is a need for a means to send a partial configuration to the network element to configure the network element for new services.
Based on the foregoing, there is also a clear need for an improved method of delivering provisioning and configuration information to devices in the field.
There is also a need for a way to describe a network device configuration in a way that facilitates re-use in connection with one or more network devices of the same type.
There is a further need for a way to provision a network device remotely and reliably without reliance on Telnet transmissions.